Modern computers communicate with each other over a variety of computer networks. Mobile computers may utilize several computer networks in a day. Even fixed-location computers may have access to multiple computer networks, for example, to achieve increased reliability through redundancy, to take advantage of cost differentials between computer networks, or for changing communications security requirements.
A computer, a computer operating system, and/or a communications application may need to change its configuration based upon the computer network or networks to which it is connected. Some conventional methods of differentiating between computer networks are ad hoc or limited to particular network types. In a modern heterogeneous networking environment, this may result in configuration inconsistencies and, ultimately, confusion and frustration for users of computer systems.
Some conventional methods of differentiating between computer networks provide ambiguous results without providing information regarding the level of ambiguity. Such methods may be unsuitable, particularly for security conscious applications. In addition, it may be that access to network services is denied, for example, for security reasons, until the level of ambiguity is sufficiently low. As a result, it is desirable that network disambiguation be fast and efficient.